<!DOCTYPE html>
<!-- 声明html5标准 -->
<html lang='zh'>
<!-- 这个主要是给搜索引擎看的，搜索引擎不会去判断该站点是中文站还是英文站，所以这句话就是让搜索引擎知道，你的站点是中文站
对html页面本身不会有影响,这些现在都是html规范，你的页面越规范，就越容易被收录 -->
<!-- 声明使用UTF-8 Unicode编码，UTF-8编码优先采用的编码 -->

<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <!--  X-UA-Compatible是针对IE新加的一个设置 声明兼容到edge -->
    <meta name='viewport' content='width=device-width, initial-scale=no'>
    <!--width:可视区域的宽度，值可为数字或关键词device-width intial-scale:页面首次被显示是可视区域的缩放级别，取值1.0则页面按实际尺寸显示，无任何缩放 -->
    <title>事件修饰符</title>
    <script src="./js/vue.js"></script>
    <style>
        .big-box{
            width: 500px;
            height: 500px;
            background-color: red;
        }
        .small-box{
            width: 200px;
            height: 200px;
            background-color: green;
        }
    </style>
</head>

<body>
    <div id="root">
        <!-- 阻止默认事件 .prevent -->
        <a href="http://www.baidu.com"  v-on:click.prevent.once="go">跳转百度</a>
        <!-- 事件只触发一次 once-->
        <button @click.once="go">点击我弹出层</button>
        <!-- .stop 阻止父元素的冒泡事件 -->
        <!-- <div class="big-box" @click="bigBox">
            <div class="small-box" @click.stop='smallBox'></div>
        </div> -->
        <!-- .self 当只有点击自己时,才会触发事件 -->
        <!-- <div class="big-box" @click.self="bigBox">
            <div class="small-box" @click='smallBox'></div>
        </div> -->
        <!-- .capture 使用他时会改变冒泡时间的顺序, 默认先子后父,使用后更改顺序. -->
        <div class="big-box" @click.capture="bigBox">
            <div class="small-box" @click='smallBox'></div>
        </div>
    </div>
    
</body>
<script>
    new Vue({
        el: '#root',
        //数据
        data: {},
        methods: {
            go(){
                alert("我组织了默认事件")
            },
            bigBox(){
                console.log("我点击了大盒子")
            },
            smallBox(){
                console.log("我点击了小盒子")
            }
        }
    })
</script>

</html>